package com.pig.live.common.utils.transform;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;

/**
 * 对象转换为Map
 * @author gaojx
 * @since 2020/8/9
 */
public class ObjectToMapUtils {

    /**
     * 通用集合转换为Map
     * @param apply 获取Map中Key的匿名函数
     * @param objects 集合
     * @param <T> 数据类型
     * @return 以String为Key T为Value的集合
     */
    public static <T> Map<String, T> transFormToMap(Function<T, String> apply, List<T> objects){
        Map<String,T> resultMap = new HashMap<>(16);
        if (objects == null || objects.isEmpty()){
            return resultMap;
        }
        for (T object : objects) {
            resultMap.put(apply.apply(object), object);
        }
        return resultMap;
    }
}
